home *** CD-ROM | disk | FTP | other *** search
/ Programming a Multiplayer FPS in DirectX / Programming a Multiplayer FPS in DirectX (Companion CD).iso / DirectX / dxsdk_oct2004.exe / dxsdk.exe / Include / xprtdefs.h < prev   
Encoding:
C/C++ Source or Header  |  2004-09-27  |  35.7 KB  |  743 lines

  1. //===========================================================================
  2. //
  3. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  4. // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  5. // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  6. // PURPOSE.
  7. //
  8. // Copyright (c) Microsoft Corporation. All rights reserved.
  9. //
  10. //===========================================================================
  11. //
  12. // filename XPrtDefs.h (Derived from edevdefs.h)
  13. //
  14. // External Device (like a VCR) control interface parameter and value definitions
  15. //
  16. // Note:new constants added: ED_BASE+800L -> ED_BASE+811L
  17. //
  18. // 1-30-98:
  19. //   New constant added for DVCR: ED_BASE+900L -> ED_BASE+1000L
  20. // 7-15-03:
  21. //   Add new constants for device transports and device types: 
  22. //       ED_BASE+1001L..ED_BASE+1037L
  23. // 
  24.  
  25. #ifndef __XPRTDEFS__
  26. #define __XPRTDEFS__
  27.  
  28.  
  29. #define ED_BASE                        0x1000L
  30.  
  31. // this is used to tell the device communications object which
  32. // physical communications port to use.
  33. #define DEV_PORT_SIM     1
  34. #define DEV_PORT_COM1    2    // standard serial ports
  35. #define DEV_PORT_COM2    3
  36. #define DEV_PORT_COM3    4
  37. #define DEV_PORT_COM4    5
  38. #define DEV_PORT_DIAQ    6    // Diaquest driver
  39. #define DEV_PORT_ARTI    7    // ARTI driver
  40. #define DEV_PORT_1394    8    // IEEE 1394 Serial Bus
  41. #define DEV_PORT_USB     9    // Universal Serial Bus
  42. #define DEV_PORT_MIN     DEV_PORT_SIM
  43. #define DEV_PORT_MAX     DEV_PORT_USB
  44.  
  45.  
  46. // IAMExtDevice Capability Items:  unless otherwise specified, these items return 
  47. //    OATRUE or OAFALSE.  All return values are in pdwValue unless otherwise specified:
  48.  
  49. #define ED_DEVCAP_CAN_RECORD           ED_BASE+1L
  50. #define ED_DEVCAP_CAN_RECORD_STROBE    ED_BASE+2L    // for multitrack devices: 
  51.                                                      // switches currently recording tracks off 
  52.                                                      // and selected non-recording tracks into record
  53. #define ED_DEVCAP_HAS_AUDIO            ED_BASE+3L
  54. #define ED_DEVCAP_HAS_VIDEO            ED_BASE+4L
  55. #define ED_DEVCAP_USES_FILES           ED_BASE+5L
  56. #define ED_DEVCAP_CAN_SAVE             ED_BASE+6L
  57.  
  58. #define ED_DEVCAP_DEVICE_TYPE          ED_BASE+7L    // returns one of the following:
  59. #define ED_DEVTYPE_VCR                 ED_BASE+8L
  60. #define ED_DEVTYPE_LASERDISK           ED_BASE+9L
  61. #define ED_DEVTYPE_ATR                 ED_BASE+10L
  62. #define ED_DEVTYPE_DDR                 ED_BASE+11L
  63. #define ED_DEVTYPE_ROUTER              ED_BASE+12L
  64. #define ED_DEVTYPE_KEYER               ED_BASE+13L
  65. #define ED_DEVTYPE_MIXER_VIDEO         ED_BASE+14L
  66. #define ED_DEVTYPE_DVE                 ED_BASE+15L
  67. #define ED_DEVTYPE_WIPEGEN             ED_BASE+16L
  68. #define ED_DEVTYPE_MIXER_AUDIO         ED_BASE+17L
  69. #define ED_DEVTYPE_CG                  ED_BASE+18L
  70. #define ED_DEVTYPE_TBC                 ED_BASE+19L
  71. #define ED_DEVTYPE_TCG                 ED_BASE+20L
  72. #define ED_DEVTYPE_GPI                 ED_BASE+21L
  73. #define ED_DEVTYPE_JOYSTICK            ED_BASE+22L
  74. #define ED_DEVTYPE_KEYBOARD            ED_BASE+23L
  75.  
  76. // returns mfr-specific ID from external device.
  77. #define ED_DEVCAP_EXTERNAL_DEVICE_ID   ED_BASE+24L
  78.  
  79. #define ED_DEVCAP_TIMECODE_READ        ED_BASE+25L
  80. #define ED_DEVCAP_TIMECODE_WRITE       ED_BASE+26L
  81. //    used for seekable non-timecode enabled devices
  82. #define ED_DEVCAP_CTLTRK_READ          ED_BASE+27L
  83. //    used for seekable non-timecode enabled devices
  84. #define ED_DEVCAP_INDEX_READ           ED_BASE+28L
  85.  
  86. // returns device preroll time in current time format
  87. #define ED_DEVCAP_PREROLL              ED_BASE+29L
  88. // returns device postroll time in current time format
  89. #define ED_DEVCAP_POSTROLL             ED_BASE+30L
  90.  
  91. // returns indication of deviceÆs synchronization accuracy.
  92. #define ED_DEVCAP_SYNC_ACCURACY        ED_BASE+31L    // returns one of the following:
  93. #define ED_SYNCACC_PRECISE             ED_BASE+32L
  94. #define ED_SYNCACC_FRAME               ED_BASE+33L
  95. #define ED_SYNCACC_ROUGH               ED_BASE+34L
  96.  
  97. // returns deviceÆs normal framerate.
  98. #define ED_DEVCAP_NORMAL_RATE          ED_BASE+35L    // returns one of the following:
  99. #define ED_RATE_24                     ED_BASE+36L
  100. #define ED_RATE_25                     ED_BASE+37L
  101. #define ED_RATE_2997                   ED_BASE+38L
  102. #define ED_RATE_30                     ED_BASE+39L
  103.  
  104. #define ED_DEVCAP_CAN_PREVIEW    ED_BASE+40L
  105. #define ED_DEVCAP_CAN_MONITOR_SOURCES  ED_BASE+41L
  106.  
  107. // indicates implementation allows testing of methods/parameters by
  108. // setting the hi bit of a parm that makes sense - see individual methods
  109. // for details.
  110. #define ED_DEVCAP_CAN_TEST             ED_BASE+42L
  111.     
  112. // indicates device accepts video as an input.
  113. #define ED_DEVCAP_VIDEO_INPUTS         ED_BASE+43L
  114.  
  115. // indicates device accepts audio as an input.
  116. #define ED_DEVCAP_AUDIO_INPUTS         ED_BASE+44L
  117.  
  118. #define ED_DEVCAP_NEEDS_CALIBRATING    ED_BASE+45L
  119.  
  120. #define ED_DEVCAP_SEEK_TYPE            ED_BASE+46L    // returns one of the following:
  121. #define ED_SEEK_PERFECT                ED_BASE+47L    // indicates device can execute seek 
  122.                                                       // within 1 video frames without signal 
  123.                                                       //    break (like a DDR)
  124. #define ED_SEEK_FAST                   ED_BASE+48L    // indicates device can move pretty quick 
  125.                                                 //  with short break in signal
  126. #define ED_SEEK_SLOW                   ED_BASE+49L    // seeks like a tape transport
  127.  
  128. #define ED_POWER_ON                    ED_BASE+50L
  129. #define ED_POWER_OFF                   ED_BASE+51L
  130. #define ED_POWER_STANDBY               ED_BASE+52L
  131.  
  132. #define ED_POWER_DEVICE_DEPENDENT      ED_BASE+1033L  // Power is on with limited functions
  133.  
  134. #define ED_ACTIVE                      ED_BASE+53L
  135. #define ED_INACTIVE                    ED_BASE+54L
  136. #define ED_ALL                         ED_BASE+55L
  137. #define ED_TEST                        ED_BASE+56L
  138.  
  139. //    IAMExtTransport Capability Items:  unless otherwise specified, these items return 
  140. //       OATRUE or OAFALSE.  All return values are in pdwValue unless otherwise specified:
  141.  
  142. #define ED_TRANSCAP_CAN_EJECT          ED_BASE+100L
  143. #define ED_TRANSCAP_CAN_BUMP_PLAY      ED_BASE+101L    // variable speed for synchronizing
  144. #define ED_TRANSCAP_CAN_PLAY_BACKWARDS ED_BASE+102L    // servo locked for use during an edit
  145. #define ED_TRANSCAP_CAN_SET_EE         ED_BASE+103L    // show deviceÆs input on its output
  146. #define ED_TRANSCAP_CAN_SET_PB         ED_BASE+104L    // show media playback on deviceÆs output
  147. #define ED_TRANSCAP_CAN_DELAY_VIDEO_IN ED_BASE+105L    // transport can do delayed-in video edits
  148. #define ED_TRANSCAP_CAN_DELAY_VIDEO_OUT ED_BASE+106L   // transport can do delayed-out video edits
  149. #define ED_TRANSCAP_CAN_DELAY_AUDIO_IN ED_BASE+107L    // transport can do delayed-in audio edits
  150. #define ED_TRANSCAP_CAN_DELAY_AUDIO_OUT ED_BASE+108L   // transport can do delayed-out audio edits
  151. #define ED_TRANSCAP_FWD_VARIABLE_MAX   ED_BASE+109L    // max forward speed (multiple of play speed) 
  152.                                                        //  in pdblValue
  153. #define ED_TRANSCAP_FWD_VARIABLE_MIN   ED_BASE+800L    // min forward speed (multiple of play speed) 
  154.                                                        //  in pdblValue
  155. #define ED_TRANSCAP_REV_VARIABLE_MAX   ED_BASE+110L    // max reverse speed (multiple of play speed) in
  156.                                                        //  pdblValue
  157. #define ED_TRANSCAP_REV_VARIABLE_MIN   ED_BASE+801L    // min reverse speed (multiple of play speed)
  158.                                                        //  in pdblValue
  159. #define ED_TRANSCAP_FWD_SHUTTLE_MAX    ED_BASE+802L    // max forward speed in Shuttle mode (multiple
  160.                                                        //  of play speed) in pdblValue
  161. #define ED_TRANSCAP_FWD_SHUTTLE_MIN    ED_BASE+803L    // min forward speed in Shuttle mode (multiple
  162.                                                        //  of play speed) in pdblValue
  163. #define ED_TRANSCAP_REV_SHUTTLE_MAX    ED_BASE+804L    // max reverse speed in Shuttle mode (multiple
  164.                                                        //  of play speed) in pdblValue
  165. #define ED_TRANSCAP_REV_SHUTTLE_MIN    ED_BASE+805L    // min reverse speed in Shuttle mode (multiple
  166.                                                        //  of play speed) in pdblValue
  167. #define ED_TRANSCAP_NUM_AUDIO_TRACKS   ED_BASE+111L    // returns number of audio tracks
  168. #define ED_TRANSCAP_LTC_TRACK          ED_BASE+112L    // returns track number of LTC timecode track.
  169.                                                        //  ED_ALL means no dedicated timecode track
  170. #define ED_TRANSCAP_NEEDS_TBC          ED_BASE+113L    // deviceÆs output not stable
  171. #define ED_TRANSCAP_NEEDS_CUEING       ED_BASE+114L    // device must be cued prior to performing edit
  172. #define ED_TRANSCAP_CAN_INSERT         ED_BASE+115L
  173. #define ED_TRANSCAP_CAN_ASSEMBLE       ED_BASE+116L
  174. #define ED_TRANSCAP_FIELD_STEP         ED_BASE+117L    // device responds to Frame Advance command by 
  175.                                                        //  advancing one field
  176. #define ED_TRANSCAP_CLOCK_INC_RATE     ED_BASE+118L    // VISCA command - keep for compatibility
  177. #define ED_TRANSCAP_CAN_DETECT_LENGTH  ED_BASE+119L
  178. #define ED_TRANSCAP_CAN_FREEZE         ED_BASE+120L
  179. #define ED_TRANSCAP_HAS_TUNER          ED_BASE+121L
  180. #define ED_TRANSCAP_HAS_TIMER          ED_BASE+122L
  181. #define ED_TRANSCAP_HAS_CLOCK          ED_BASE+123L
  182. #define ED_TRANSCAP_MULTIPLE_EDITS     ED_BASE+806L    // OATRUE means device/filter can support
  183.                                                        //  multiple edit events
  184. #define ED_TRANSCAP_IS_MASTER          ED_BASE+807L    // OATRUE means device is the master clock
  185.                                                        //  for synchronizing (this sets timecode-to-
  186.                                                        //  reference clock offset for editing)
  187. #define ED_TRANSCAP_HAS_DT             ED_BASE+814L    // OATRUE means device has Dynamic Tracking
  188.  
  189. //    IAMExtTransport Media States
  190. #define ED_MEDIA_SPIN_UP               ED_BASE+130L
  191. #define ED_MEDIA_SPIN_DOWN             ED_BASE+131L
  192. #define ED_MEDIA_UNLOAD                ED_BASE+132L
  193.  
  194. //    IAMExtTransport Modes
  195. #define ED_MODE_PLAY                   ED_BASE+200L    // Forward playback at normal speed
  196. #define ED_MODE_STOP                   ED_BASE+201L
  197. #define ED_MODE_FREEZE                 ED_BASE+202L    // Forward pause
  198. #define ED_MODE_THAW                   ED_BASE+203L
  199. #define ED_MODE_FF                     ED_BASE+204L    // Fast forward
  200. #define ED_MODE_REW                    ED_BASE+205L    // Fast rewind
  201. #define ED_MODE_RECORD                 ED_BASE+206L
  202. #define ED_MODE_RECORD_STROBE          ED_BASE+207L
  203. #define ED_MODE_RECORD_FREEZE          ED_BASE+808L    // Pause recording
  204. #define ED_MODE_STEP                   ED_BASE+208L    // same as "jog"
  205. #define ED_MODE_STEP_FWD               ED_BASE+208L    // same as ED_MODE_STEP - next frame
  206. #define ED_MODE_STEP_REV               ED_BASE+809L    // Previous frame
  207. #define ED_MODE_SHUTTLE                ED_BASE+209L
  208. #define ED_MODE_EDIT_CUE               ED_BASE+210L
  209. #define ED_MODE_VAR_SPEED              ED_BASE+211L
  210. #define ED_MODE_PERFORM                ED_BASE+212L    // returned status only
  211. #define ED_MODE_LINK_ON                ED_BASE+280L
  212. #define ED_MODE_LINK_OFF               ED_BASE+281L
  213. #define ED_MODE_NOTIFY_ENABLE          ED_BASE+810L
  214. #define ED_MODE_NOTIFY_DISABLE         ED_BASE+811L
  215. #define ED_MODE_SHOT_SEARCH            ED_BASE+812L
  216.  
  217.  
  218. //    IAMTimecodeReader/Generator/Display defines
  219. //
  220. // Timecode Generator Mode params and values:
  221. //
  222. #define ED_TCG_TIMECODE_TYPE           ED_BASE+400L    // can be one of the following:
  223. #define ED_TCG_SMPTE_LTC               ED_BASE+401L
  224. #define ED_TCG_SMPTE_VITC              ED_BASE+402L
  225. #define ED_TCG_MIDI_QF                 ED_BASE+403L
  226. #define ED_TCG_MIDI_FULL               ED_BASE+404L
  227.  
  228. #define ED_TCG_FRAMERATE               ED_BASE+405L    // can be one of the following:
  229. #define ED_FORMAT_SMPTE_30             ED_BASE+406L
  230. #define ED_FORMAT_SMPTE_30DROP         ED_BASE+407L
  231. #define ED_FORMAT_SMPTE_25             ED_BASE+408L
  232. #define ED_FORMAT_SMPTE_24             ED_BASE+409L
  233.  
  234. #define ED_TCG_SYNC_SOURCE             ED_BASE+410L    // can be one of the following:
  235. #define ED_TCG_VIDEO                   ED_BASE+411L
  236. #define ED_TCG_READER                  ED_BASE+412L
  237. #define ED_TCG_FREE                    ED_BASE+413L
  238.  
  239. #define ED_TCG_REFERENCE_SOURCE        ED_BASE+414L    // can have one these values:
  240.                                                        //    ED_TCG_FREE || ED_TCG_READER 
  241.                                                        //    (for regen/jamsync)
  242.  
  243. // TimeCodeReader Mode params and values:
  244. #define ED_TCR_SOURCE                  ED_BASE+416L    // can be one of the following:
  245. // ED_TCG (already defined)
  246. #define ED_TCR_LTC                     ED_BASE+417L
  247. #define ED_TCR_VITC                    ED_BASE+418L
  248. #define ED_TCR_CT                      ED_BASE+419L    // Control Track
  249. #define ED_TCR_FTC                     ED_BASE+420L    // File TimeCode - for file-based devices
  250.                                                 //  that wish they were transports
  251. // ED_MODE_NOTIFY_ENABLE can be OATRUE or OAFALSE (defined in transport mode
  252. //  section of this file).  
  253. #define ED_TCR_LAST_VALUE              ED_BASE+421L    // for notification mode - 
  254.                                                 //  successive calls to GetTimecode
  255.                                                 //  return the last read value
  256. // TimeCode Display Mode params and values:
  257. //
  258. #define ED_TCD_SOURCE                  ED_BASE+422L    // can be one of the following:
  259. #define ED_TCR                         ED_BASE+423L
  260. #define ED_TCG                         ED_BASE+424L
  261.  
  262. #define ED_TCD_SIZE                    ED_BASE+425L    // can be one of the following:
  263. #define ED_SMALL                       ED_BASE+426L
  264. #define ED_MED                         ED_BASE+427L
  265. #define ED_LARGE                       ED_BASE+428L
  266.  
  267. #define ED_TCD_POSITION                ED_BASE+429L    // can be one of the following:
  268. #define ED_TOP                         0x0001
  269. #define ED_MIDDLE                      0x0002
  270. #define ED_BOTTOM                      0x0004          // orÆd  with
  271. #define ED_LEFT                        0x0100
  272. #define ED_CENTER                      0x0200
  273. #define ED_RIGHT                       0x0400
  274.  
  275. #define ED_TCD_INTENSITY               ED_BASE+436L    // can be one of the following:
  276. #define ED_HIGH                        ED_BASE+437L
  277. #define ED_LOW                         ED_BASE+438L
  278.  
  279. #define ED_TCD_TRANSPARENCY            ED_BASE+439L    // 0-4, 0 is opaque
  280.  
  281. #define ED_TCD_INVERT                  ED_BASE+440L    // OATRUE=black on white
  282.                                                        // OAFALSE=white on black
  283. //    IAMExtTransport defines
  284. //
  285. // Transport status, params and values
  286. //
  287.  
  288. // IAMExtTransport Status items and and values:
  289. #define ED_MODE                        ED_BASE+500L    // see ED_MODE_xxx values above
  290. #define ED_ERROR                       ED_BASE+501L
  291. #define ED_LOCAL                       ED_BASE+502L
  292. #define ED_RECORD_INHIBIT              ED_BASE+503L
  293. #define ED_SERVO_LOCK                  ED_BASE+504L
  294. #define ED_MEDIA_PRESENT               ED_BASE+505L
  295. #define ED_MEDIA_LENGTH                ED_BASE+506L
  296. #define ED_MEDIA_SIZE                  ED_BASE+507L
  297. #define ED_MEDIA_TRACK_COUNT           ED_BASE+508L
  298. #define ED_MEDIA_TRACK_LENGTH          ED_BASE+509L
  299. #define ED_MEDIA_SIDE                  ED_BASE+510L
  300.  
  301. #define ED_MEDIA_TYPE                  ED_BASE+511L    // can be one of the following:
  302. #define ED_MEDIA_VHS                   ED_BASE+512L
  303. #define ED_MEDIA_SVHS                  ED_BASE+513L
  304. #define ED_MEDIA_HI8                   ED_BASE+514L
  305. #define ED_MEDIA_UMATIC                ED_BASE+515L
  306. #define ED_MEDIA_DVC                   ED_BASE+516L
  307. #define ED_MEDIA_1_INCH                ED_BASE+517L
  308. #define ED_MEDIA_D1                    ED_BASE+518L
  309. #define ED_MEDIA_D2                    ED_BASE+519L
  310. #define ED_MEDIA_D3                    ED_BASE+520L
  311. #define ED_MEDIA_D5                    ED_BASE+521L
  312. #define ED_MEDIA_DBETA                 ED_BASE+522L
  313. #define ED_MEDIA_BETA                  ED_BASE+523L
  314. #define ED_MEDIA_8MM                   ED_BASE+524L
  315. #define ED_MEDIA_DDR                   ED_BASE+525L
  316. #define ED_MEDIA_SX                    ED_BASE+813L
  317. #define ED_MEDIA_OTHER                 ED_BASE+526L
  318. #define ED_MEDIA_CLV                   ED_BASE+527L
  319. #define ED_MEDIA_CAV                   ED_BASE+528L
  320. #define ED_MEDIA_POSITION              ED_BASE+529L
  321.  
  322. #define ED_MEDIA_NEO                   ED_BASE+531L    // Mini digital tape for MPEG2TS signal
  323. #define ED_MEDIA_MICROMV               ED_MEDIA_NEO
  324.  
  325. #define ED_LINK_MODE                   ED_BASE+530L    // OATRUE if transport controls
  326.                                                        // are linked to graph's RUN, 
  327.                                                        // STOP, and PAUSE methods
  328.  
  329. // IAMExtTransport Basic Parms
  330. #define ED_TRANSBASIC_TIME_FORMAT      ED_BASE+540L    // can be one of the following:
  331. #define ED_FORMAT_MILLISECONDS         ED_BASE+541L
  332. #define ED_FORMAT_FRAMES               ED_BASE+542L
  333. #define ED_FORMAT_REFERENCE_TIME       ED_BASE+543L
  334.  
  335. #define ED_FORMAT_HMSF                 ED_BASE+547L
  336. #define ED_FORMAT_TMSF                 ED_BASE+548L
  337.  
  338. #define ED_TRANSBASIC_TIME_REFERENCE   ED_BASE+549L    // can be one of the following:
  339. #define ED_TIMEREF_TIMECODE            ED_BASE+550L
  340. #define ED_TIMEREF_CONTROL_TRACK       ED_BASE+551L
  341. #define ED_TIMEREF_INDEX               ED_BASE+552L
  342.  
  343. #define ED_TRANSBASIC_SUPERIMPOSE      ED_BASE+553L    // enable/disable onscreen display
  344. #define ED_TRANSBASIC_END_STOP_ACTION  ED_BASE+554L    // can be one of: ED_MODE_STOP |
  345.                                                         //    ED_MODE_REWIND | ED_MODE_FREEZE
  346. #define ED_TRANSBASIC_RECORD_FORMAT    ED_BASE+555L    // can be one of the following:
  347. #define ED_RECORD_FORMAT_SP            ED_BASE+556L
  348. #define ED_RECORD_FORMAT_LP            ED_BASE+557L
  349. #define ED_RECORD_FORMAT_EP            ED_BASE+558L
  350.  
  351. #define ED_TRANSBASIC_STEP_COUNT       ED_BASE+559L
  352. #define ED_TRANSBASIC_STEP_UNIT        ED_BASE+560L    // can be one of the following:
  353. #define ED_STEP_FIELD                  ED_BASE+561L
  354. #define ED_STEP_FRAME                  ED_BASE+562L
  355. #define ED_STEP_3_2                    ED_BASE+563L
  356.  
  357. #define ED_TRANSBASIC_PREROLL          ED_BASE+564L
  358. #define ED_TRANSBASIC_RECPREROLL       ED_BASE+565L
  359. #define ED_TRANSBASIC_POSTROLL         ED_BASE+566L
  360. #define ED_TRANSBASIC_EDIT_DELAY       ED_BASE+567L
  361. #define ED_TRANSBASIC_PLAYTC_DELAY     ED_BASE+568L
  362. #define ED_TRANSBASIC_RECTC_DELAY      ED_BASE+569L
  363. #define ED_TRANSBASIC_EDIT_FIELD       ED_BASE+570L
  364. #define ED_TRANSBASIC_FRAME_SERVO      ED_BASE+571L
  365. #define ED_TRANSBASIC_CF_SERVO         ED_BASE+572L
  366. #define ED_TRANSBASIC_SERVO_REF        ED_BASE+573L    // can be one of the following:
  367. #define ED_REF_EXTERNAL                ED_BASE+574L
  368. #define ED_REF_INPUT                   ED_BASE+575L
  369. #define ED_REF_INTERNAL                ED_BASE+576L
  370. #define ED_REF_AUTO                    ED_BASE+577L
  371.  
  372. #define ED_TRANSBASIC_WARN_GL          ED_BASE+578L
  373. #define ED_TRANSBASIC_SET_TRACKING     ED_BASE+579L    // can be one of the following:
  374. #define ED_TRACKING_PLUS               ED_BASE+580L
  375. #define ED_TRACKING_MINUS              ED_BASE+581L
  376. #define ED_TRACKING_RESET              ED_BASE+582L
  377.  
  378. #define ED_TRANSBASIC_SET_FREEZE_TIMEOUT ED_BASE+583L
  379. #define ED_TRANSBASIC_VOLUME_NAME      ED_BASE+584L
  380. #define ED_TRANSBASIC_BALLISTIC_1      ED_BASE+585L    // space for proprietary data
  381. #define ED_TRANSBASIC_BALLISTIC_2      ED_BASE+586L
  382. #define ED_TRANSBASIC_BALLISTIC_3      ED_BASE+587L
  383. #define ED_TRANSBASIC_BALLISTIC_4      ED_BASE+588L
  384. #define ED_TRANSBASIC_BALLISTIC_5      ED_BASE+589L
  385. #define ED_TRANSBASIC_BALLISTIC_6      ED_BASE+590L
  386. #define ED_TRANSBASIC_BALLISTIC_7      ED_BASE+591L
  387. #define ED_TRANSBASIC_BALLISTIC_8      ED_BASE+592L
  388. #define ED_TRANSBASIC_BALLISTIC_9      ED_BASE+593L
  389. #define ED_TRANSBASIC_BALLISTIC_10     ED_BASE+594L
  390. #define ED_TRANSBASIC_BALLISTIC_11     ED_BASE+595L
  391. #define ED_TRANSBASIC_BALLISTIC_12     ED_BASE+596L
  392. #define ED_TRANSBASIC_BALLISTIC_13     ED_BASE+597L
  393. #define ED_TRANSBASIC_BALLISTIC_14     ED_BASE+598L
  394. #define ED_TRANSBASIC_BALLISTIC_15     ED_BASE+599L
  395. #define ED_TRANSBASIC_BALLISTIC_16     ED_BASE+600L
  396. #define ED_TRANSBASIC_BALLISTIC_17     ED_BASE+601L
  397. #define ED_TRANSBASIC_BALLISTIC_18     ED_BASE+602L
  398. #define ED_TRANSBASIC_BALLISTIC_19     ED_BASE+603L
  399. #define ED_TRANSBASIC_BALLISTIC_20     ED_BASE+604L
  400.  
  401. // consumer VCR items
  402. #define ED_TRANSBASIC_SETCLOCK         ED_BASE+605L
  403. #define ED_TRANSBASIC_SET_COUNTER_FORMAT ED_BASE+606L    // uses time format flags
  404. #define ED_TRANSBASIC_SET_COUNTER_VALUE ED_BASE+607L
  405.  
  406. #define ED_TRANSBASIC_SETTUNER_CH_UP   ED_BASE+608L
  407. #define ED_TRANSBASIC_SETTUNER_CH_DN   ED_BASE+609L
  408. #define ED_TRANSBASIC_SETTUNER_SK_UP   ED_BASE+610L
  409. #define ED_TRANSBASIC_SETTUNER_SK_DN   ED_BASE+611L
  410. #define ED_TRANSBASIC_SETTUNER_CH      ED_BASE+612L
  411. #define ED_TRANSBASIC_SETTUNER_NUM     ED_BASE+613L
  412.  
  413. #define ED_TRANSBASIC_SETTIMER_EVENT   ED_BASE+614L
  414. #define ED_TRANSBASIC_SETTIMER_STARTDAY ED_BASE+615L
  415. #define ED_TRANSBASIC_SETTIMER_STARTTIME ED_BASE+616L
  416. #define ED_TRANSBASIC_SETTIMER_STOPDAY ED_BASE+617L
  417. #define ED_TRANSBASIC_SETTIMER_STOPTIME ED_BASE+618L
  418.  
  419. // IAMExtTransport video parameters
  420. #define ED_TRANSVIDEO_SET_OUTPUT       ED_BASE+630L    // can be one of the following:
  421. #define ED_E2E                         ED_BASE+631L
  422. #define ED_PLAYBACK                    ED_BASE+632L
  423. #define ED_OFF                         ED_BASE+633L
  424.  
  425. #define ED_TRANSVIDEO_SET_SOURCE       ED_BASE+634L
  426.  
  427. // IAMExtTransport audio parameters
  428. #define ED_TRANSAUDIO_ENABLE_OUTPUT    ED_BASE+640L    // can be the following:
  429. #define ED_AUDIO_ALL                   0x10000000    //    or any of the following OR'd together
  430. #define ED_AUDIO_1                     0x0000001L
  431. #define ED_AUDIO_2                     0x0000002L
  432. #define ED_AUDIO_3                     0x0000004L
  433. #define ED_AUDIO_4                     0x0000008L
  434. #define ED_AUDIO_5                     0x0000010L
  435. #define ED_AUDIO_6                     0x0000020L
  436. #define ED_AUDIO_7                     0x0000040L
  437. #define ED_AUDIO_8                     0x0000080L
  438. #define ED_AUDIO_9                     0x0000100L
  439. #define ED_AUDIO_10                    0x0000200L
  440. #define ED_AUDIO_11                    0x0000400L
  441. #define ED_AUDIO_12                    0x0000800L
  442. #define ED_AUDIO_13                    0x0001000L
  443. #define ED_AUDIO_14                    0x0002000L
  444. #define ED_AUDIO_15                    0x0004000L
  445. #define ED_AUDIO_16                    0x0008000L
  446. #define ED_AUDIO_17                    0x0010000L
  447. #define ED_AUDIO_18                    0x0020000L
  448. #define ED_AUDIO_19                    0x0040000L
  449. #define ED_AUDIO_20                    0x0080000L
  450. #define ED_AUDIO_21                    0x0100000L
  451. #define ED_AUDIO_22                    0x0200000L
  452. #define ED_AUDIO_23                    0x0400000L
  453. #define ED_AUDIO_24                    0x0800000L
  454. #define ED_VIDEO                       0x2000000L    // for Edit props below
  455.  
  456. #define ED_TRANSAUDIO_ENABLE_RECORD    ED_BASE+642L
  457. #define ED_TRANSAUDIO_ENABLE_SELSYNC   ED_BASE+643L
  458. #define ED_TRANSAUDIO_SET_SOURCE       ED_BASE+644L
  459. #define ED_TRANSAUDIO_SET_MONITOR      ED_BASE+645L
  460.  
  461.  
  462. // Edit Property Set-related defs
  463.  
  464. // The following values reflect (and control) the state of an 
  465. // edit property set
  466. #define ED_INVALID                     ED_BASE+652L
  467. #define ED_EXECUTING                   ED_BASE+653L
  468. #define ED_REGISTER                    ED_BASE+654L
  469. #define ED_DELETE                      ED_BASE+655L
  470.  
  471. // Edit property set parameters and values
  472. #define ED_EDIT_HEVENT                 ED_BASE+656L    // event handle to signal event 
  473.                                                        // completion
  474. #define ED_EDIT_TEST                   ED_BASE+657L    // returns OAFALSE if filter thinks
  475.                                                        //  edit can be done, OATRUE if not
  476. #define ED_EDIT_IMMEDIATE              ED_BASE+658L    // OATRUE means start put the 
  477.                                                        // device into edit mode (editing
  478.                                                        // "on the fly") immediately upon
  479.                                                        //  execution of Mode(ED_MODE_EDIT_CUE)
  480. #define ED_EDIT_MODE                   ED_BASE+659L
  481. // can be one of the following values:
  482. #define ED_EDIT_MODE_ASSEMBLE          ED_BASE+660L
  483. #define ED_EDIT_MODE_INSERT            ED_BASE+661L
  484. #define ED_EDIT_MODE_CRASH_RECORD      ED_BASE+662L
  485. #define ED_EDIT_MODE_BOOKMARK_TIME     ED_BASE+663L    // these two are for
  486. #define ED_EDIT_MODE_BOOKMARK_CHAPTER  ED_BASE+664L    // laserdisks
  487.  
  488. #define ED_EDIT_MASTER                 ED_BASE+666L    // OATRUE causes device 
  489.                                                        //  not to synchronize
  490.  
  491. #define ED_EDIT_TRACK        ED_BASE+667L
  492. // can be one of the following possible OR'd values:
  493. //    ED_VIDEO, ED_AUDIO_1 thru ED_AUDIO_24 (or ED_AUDIO_ALL)
  494.  
  495. #define ED_EDIT_SRC_INPOINT            ED_BASE+668L    // in current time format
  496. #define ED_EDIT_SRC_OUTPOINT           ED_BASE+669L    // in current time format
  497. #define ED_EDIT_REC_INPOINT            ED_BASE+670L    // in current time format
  498. #define ED_EDIT_REC_OUTPOINT           ED_BASE+671L    // in current time format
  499.  
  500. #define ED_EDIT_REHEARSE_MODE          ED_BASE+672L
  501. // can be one of the following possible values:
  502. #define ED_EDIT_BVB                    ED_BASE+673L    // means rehearse the edit with 
  503.                                                        //  "black-video-black"
  504. #define ED_EDIT_VBV                    ED_BASE+674L
  505. #define ED_EDIT_VVV                    ED_BASE+675L
  506. #define ED_EDIT_PERFORM                ED_BASE+676L    // means perform the edit with no 
  507.                                                        //  rehearsal.
  508.  
  509. // Set this property to OATRUE to kill the edit if in progress
  510. #define ED_EDIT_ABORT                  ED_BASE+677L
  511. // how long to wait for edit to complete
  512. #define ED_EDIT_TIMEOUT                ED_BASE+678L        // in current time format
  513.  
  514. // This property causes the device to seek to a point specified by
  515. // ED_EDIT_SEEK_MODE (see below).  NOTE: Only one event at a time can seek.
  516. #define ED_EDIT_SEEK                   ED_BASE+679L    // OATRUE means do it now.  
  517. #define ED_EDIT_SEEK_MODE              ED_BASE+680L
  518. //possible values:
  519. #define ED_EDIT_SEEK_EDIT_IN           ED_BASE+681L    // seek to edit's inpoint
  520. #define ED_EDIT_SEEK_EDIT_OUT          ED_BASE+682L    // seek to edit's outpoint
  521. #define ED_EDIT_SEEK_PREROLL           ED_BASE+683L    // seek to edit's 
  522.                                                        //  inpoint-preroll
  523. #define ED_EDIT_SEEK_PREROLL_CT        ED_BASE+684L    // seek to preroll point 
  524.                                                        // using control track (used for tapes with 
  525.                                                        // discontinuoustimecode before edit point: seek
  526.                                                        // to inpoint using timecode, then backup to 
  527.                                                        // preroll point using control track)
  528. #define ED_EDIT_SEEK_BOOKMARK          ED_BASE+685L    // seek to bookmark (just like 
  529.                                                        //  timecode search)
  530. // This property is used for multiple-VCR systems where each machine must
  531. // cue to a different location relative to the graph's reference clock.  The
  532. // basic idea is that an edit event is setup with an ED_EDIT_OFFSET property
  533. // that tells the VCR what offset to maintain between it's timecode (converted
  534. // to reference clock units) and the reference clock.
  535. #define ED_EDIT_OFFSET                 ED_BASE+686L    // in current time format
  536.  
  537. #define ED_EDIT_PREREAD                ED_BASE+815L    // OATRUE means device supports
  538.                                                        //  pre-read (recorder can also be
  539.                                                        //  player
  540.  
  541. //
  542. // Some error codes:
  543. // 
  544. // device could be in local mode
  545. #define ED_ERR_DEVICE_NOT_READY        ED_BASE+700L
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552. // **************************************************
  553. //
  554. // New constants 
  555. //
  556. // **************************************************
  557.  
  558.  
  559. //
  560. // Additional Device type
  561. //
  562. #define ED_DEVTYPE_CAMERA              ED_BASE+900L
  563.  
  564. #define ED_DEVTYPE_TUNER               ED_BASE+901L
  565.  
  566. #define ED_DEVTYPE_DVHS                ED_BASE+902L     // Digital VHS
  567.  
  568. #define ED_DEVTYPE_UNKNOWN             ED_BASE+903L     // Driver cannot determine the device type
  569.  
  570. #define ED_DEVTYPE_CAMERA_STORAGE      ED_BASE+1034L    // Storage for digital still images, short video files, etc.
  571.  
  572. #define ED_DEVTYPE_DTV                 ED_BASE+1035L    // DTV with serial bus interface
  573.  
  574. #define ED_DEVTYPE_PC_VIRTUAL          ED_BASE+1036L    // Emulated device (virtual) on a PC
  575.  
  576.  
  577.  
  578. //
  579. // Unknownn capability 
  580. //     Instead of return E_NOTIMPL, or S_OK with OAFALSE, it may return S_OK with _UNKNOWN
  581. //
  582. #define ED_CAPABILITY_UNKNOWN          ED_BASE+910L
  583.  
  584.  
  585. //
  586. // Send raw 1394/AVC extenal device command via GetTransportBasicParameters()
  587. // This is specifically for a 1394 AVC device connected with DEV_PORT_1394.
  588. //
  589. #define ED_RAW_EXT_DEV_CMD             ED_BASE+920L
  590.  
  591.  
  592. //
  593. // MEDIUM INFO
  594. //
  595. #define ED_MEDIA_VHSC                  ED_BASE+925L  // New media type
  596. #define ED_MEDIA_UNKNOWN               ED_BASE+926L  // Unknown media
  597. #define ED_MEDIA_NOT_PRESENT           ED_BASE+927L  
  598.  
  599.  
  600. //
  601. // Device Control command that can result in pending state.
  602. //
  603. #define ED_CONTROL_HEVENT_GET          ED_BASE+928L  // To get a sychronous event handle
  604. #define ED_CONTROL_HEVENT_RELEASE      ED_BASE+929L  // To release sychronous event handle must match what it got
  605.  
  606. #define ED_DEV_REMOVED_HEVENT_GET      ED_BASE+960L  // To be a notify event and will be signal if device is removed.
  607. #define ED_DEV_REMOVED_HEVENT_RELEASE  ED_BASE+961L  // Release this event handle
  608.  
  609.  
  610. //
  611. // TRANSPORT STATE
  612. //
  613. #define ED_NOTIFY_HEVENT_GET           ED_BASE+930L  // To get a sychronous event handle
  614. #define ED_NOTIFY_HEVENT_RELEASE       ED_BASE+931L  // To release sychronous event handle must match what it got
  615. #define ED_MODE_CHANGE_NOTIFY          ED_BASE+932L  // This is asynchronous operation, wait for event. 
  616.  
  617. #define ED_MODE_PLAY_FASTEST_FWD       ED_BASE+933L
  618. #define ED_MODE_PLAY_SLOWEST_FWD       ED_BASE+934L
  619. #define ED_MODE_PLAY_FASTEST_REV       ED_BASE+935L
  620. #define ED_MODE_PLAY_SLOWEST_REV       ED_BASE+936L
  621.  
  622. #define ED_MODE_WIND                   ED_BASE+937L  
  623. #define ED_MODE_REW_FASTEST            ED_BASE+938L  // High speed rewind
  624.  
  625. #define ED_MODE_REV_PLAY               ED_BASE+939L  // x1 speed reverse play
  626.  
  627. //
  628. // Additional play modes (added post Windows XP)
  629. //
  630.  
  631. #define ED_MODE_PLAY_SLOW_FWD_6        ED_BASE+1001L  // Slow forward
  632. #define ED_MODE_PLAY_SLOW_FWD_5        ED_BASE+1002L
  633. #define ED_MODE_PLAY_SLOW_FWD_4        ED_BASE+1003L
  634. #define ED_MODE_PLAY_SLOW_FWD_3        ED_BASE+1004L
  635. #define ED_MODE_PLAY_SLOW_FWD_2        ED_BASE+1005L
  636. #define ED_MODE_PLAY_SLOW_FWD_1        ED_BASE+1006L
  637.  
  638. #define ED_MODE_PLAY_FAST_FWD_1        ED_BASE+1007L  // Fast forward
  639. #define ED_MODE_PLAY_FAST_FWD_2        ED_BASE+1008L
  640. #define ED_MODE_PLAY_FAST_FWD_3        ED_BASE+1009L
  641. #define ED_MODE_PLAY_FAST_FWD_4        ED_BASE+1010L
  642. #define ED_MODE_PLAY_FAST_FWD_5        ED_BASE+1011L
  643. #define ED_MODE_PLAY_FAST_FWD_6        ED_BASE+1012L
  644.  
  645. #define ED_MODE_PLAY_SLOW_REV_6        ED_BASE+1013L  // Slow reverse
  646. #define ED_MODE_PLAY_SLOW_REV_5        ED_BASE+1014L
  647. #define ED_MODE_PLAY_SLOW_REV_4        ED_BASE+1015L
  648. #define ED_MODE_PLAY_SLOW_REV_3        ED_BASE+1016L
  649. #define ED_MODE_PLAY_SLOW_REV_2        ED_BASE+1017L
  650. #define ED_MODE_PLAY_SLOW_REV_1        ED_BASE+1018L
  651.  
  652. #define ED_MODE_PLAY_FAST_REV_1        ED_BASE+1019L  // Fast reverse
  653. #define ED_MODE_PLAY_FAST_REV_2        ED_BASE+1020L
  654. #define ED_MODE_PLAY_FAST_REV_3        ED_BASE+1021L
  655. #define ED_MODE_PLAY_FAST_REV_4        ED_BASE+1022L
  656. #define ED_MODE_PLAY_FAST_REV_5        ED_BASE+1023L
  657. #define ED_MODE_PLAY_FAST_REV_6        ED_BASE+1024L
  658.  
  659. #define ED_MODE_REVERSE                ED_MODE_REV_PLAY // Same as Reverse playback
  660. #define ED_MODE_REVERSE_FREEZE         ED_BASE+1025L    // Pause at reverse playback
  661.  
  662. #define ED_MODE_PLAY_SLOW_FWD_X        ED_BASE+1026L    // Possible response for a trick play
  663. #define ED_MODE_PLAY_FAST_FWD_X        ED_BASE+1027L    // Possible response for a trick play
  664. #define ED_MODE_PLAY_SLOW_REV_X        ED_BASE+1028L    // Possible response for a trick play
  665. #define ED_MODE_PLAY_FAST_REV_X        ED_BASE+1029L    // Possible response for a trick play
  666.  
  667. #define ED_MODE_STOP_START             ED_BASE+1030L    // Indicate stopping at the begin of a tape
  668. #define ED_MODE_STOP_END               ED_BASE+1031L    // Indicate stopping at the end of a tape
  669. #define ED_MODE_STOP_EMERGENCY         ED_BASE+1032L    // Indicate stopping due to an emergency 
  670.  
  671. //
  672. // TRANSPOSRTBASIC: input and output signal
  673. //
  674. #define ED_TRANSBASIC_INPUT_SIGNAL        ED_BASE+940L
  675. #define ED_TRANSBASIC_OUTPUT_SIGNAL       ED_BASE+941L
  676.  
  677. #define ED_TRANSBASIC_SIGNAL_525_60_SD    ED_BASE+942L
  678. #define ED_TRANSBASIC_SIGNAL_525_60_SDL   ED_BASE+943L
  679. #define ED_TRANSBASIC_SIGNAL_625_50_SD    ED_BASE+944L
  680. #define ED_TRANSBASIC_SIGNAL_625_50_SDL   ED_BASE+945L
  681.  
  682. #define ED_TRANSBASIC_SIGNAL_625_60_HD    ED_BASE+947L
  683. #define ED_TRANSBASIC_SIGNAL_625_50_HD    ED_BASE+948L
  684.  
  685. #define ED_TRANSBASIC_SIGNAL_MPEG2TS      ED_BASE+946L
  686.  
  687. #define ED_TRANSBASIC_SIGNAL_2500_60_MPEG ED_BASE+980L
  688. #define ED_TRANSBASIC_SIGNAL_1250_60_MPEG ED_BASE+981L
  689. #define ED_TRANSBASIC_SIGNAL_0625_60_MPEG ED_BASE+982L
  690.  
  691. #define ED_TRANSBASIC_SIGNAL_2500_50_MPEG ED_BASE+985L
  692. #define ED_TRANSBASIC_SIGNAL_1250_50_MPEG ED_BASE+986L
  693. #define ED_TRANSBASIC_SIGNAL_0625_50_MPEG ED_BASE+987L
  694.  
  695. #define ED_TRANSBASIC_SIGNAL_UNKNOWN      ED_BASE+990L
  696.  
  697. #define ED_TRANSBASIC_SIGNAL_525_60_DV25  ED_BASE+991L
  698. #define ED_TRANSBASIC_SIGNAL_625_50_DV25  ED_BASE+992L
  699.  
  700. #define ED_TRANSBASIC_SIGNAL_525_60_DV50  ED_BASE+993L
  701. #define ED_TRANSBASIC_SIGNAL_625_50_DV50  ED_BASE+994L
  702.  
  703. #define ED_TRANSBASIC_SIGNAL_HD_60_DVH1   ED_BASE+995L  // DVCPRO 100: 1080i or 720p
  704. #define ED_TRANSBASIC_SIGNAL_HD_50_DVH1   ED_BASE+996L  // DVCPRO 100: 1080i only
  705.  
  706.  
  707.  
  708. //
  709. // TIMECODE/AbsoluteTrackNumber/RealTimeCounter read/seek/write
  710. //
  711. #define ED_DEVCAP_TIMECODE_SEEK        ED_BASE+950L
  712.  
  713. #define ED_DEVCAP_ATN_READ             ED_BASE+951L
  714. #define ED_DEVCAP_ATN_SEEK             ED_BASE+952L
  715. #define ED_DEVCAP_ATN_WRITE            ED_BASE+953L
  716.  
  717. #define ED_DEVCAP_RTC_READ             ED_BASE+954L
  718. #define ED_DEVCAP_RTC_SEEK             ED_BASE+955L
  719. #define ED_DEVCAP_RTC_WRITE            ED_BASE+956L
  720.  
  721. //
  722. // Basic parameter
  723. //
  724. #define ED_TIMEREF_ATN                 ED_BASE+958L
  725.  
  726.  
  727. //
  728. // GUID used to identify a class driver
  729. //
  730.  
  731. #ifndef OUR_GUID_ENTRY
  732.     #define OUR_GUID_ENTRY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
  733.     DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8);
  734. #endif
  735.  
  736. // 8C0F6AF2-0EDB-44c1-8AEB-59040BD830ED  MSTapeDeviceGUID
  737. OUR_GUID_ENTRY(MSTapeDeviceGUID,
  738. 0x8C0F6AF2, 0x0EDB, 0x44c1, 0x8A, 0xEB, 0x59, 0x04, 0x0B, 0xD8, 0x30, 0xED)
  739.  
  740. #endif // __XPRTDEFS__
  741.  
  742. // eof XPrtDefs.h
  743.